*, *:before, *:after {
  box-sizing: border-box;
}

:root {
  --white: #fff;
  --black: #000;
  --bg: #f8f8f8;
  --grey: #999;
  --dark: #1a1a1a;
  --light: #e6e6e6;
  --wrapper: 1000px;
  --blue: #00b0ff;
}

html,body {
  height: 100%;
}

body {
  background-color: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 400;
  background: url('../img/bg.jpg') no-repeat center #000; 
  background-size: cover;
  background-repeat: none;
}


.wrapper {
  position: relative;
  left: 50%;
  width: var(--wrapper);
  height:100%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

.container {
  position: relative;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background-color: #fff;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.container .left {
  position: relative;
  float: left;
  padding-top: 155px;
  width: 30%;
  height: 100%;
  border: 1px solid var(--light);
  background-color: var(--white);
}

.user {
  display: flex;
  align-items: center;
}

.user img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  margin-right: 20px;
}
.user span {
  font-size: 24px;
  color: #333;
}
.container .left .top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 155px;
  padding: 29px;
}
.container .left .top:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 80%;
  height: 1px;
  content: '';
  background-color: var(--light);
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

.container .left input {
  float: left;
  width: 100%;
  height: 32px;
  margin-top: 20px;
  padding: 0 15px;
  border: 1px solid var(--light);
  background-color: #eceff1;
  border-radius: 21px;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 400;
}
.container .left input:focus {
  outline: none;
}
.container .left a.search {
  display: block;
  float: left;
  width: 42px;
  height: 42px;
  margin-left: 10px;
  border: 1px solid var(--light);
  background-color: var(--blue);
  background-image: url("../img//name-type.png");
  background-repeat: no-repeat;
  background-position: top 12px left 14px;
  border-radius: 50%;
}
.container .left .people {
  height: 100%;
  overflow: hidden;
  overflow-y: auto;  
  margin-left: -1px;
  border-right: 1px solid var(--light);
  border-left: 1px solid var(--light);
  width: calc(100% + 2px);
}
.container .left .people .person {
  position: relative;
  width: 100%;
  padding: 12px 10% 16px;
  cursor: pointer;
  background-color: var(--white);
}
.container .left .people .person:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 80%;
  height: 1px;
  content: '';
  background-color: var(--light);
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.container .left .people .person img {
  float: left;
  width: 40px;
  height: 40px;
  margin-right: 12px;
  border-radius: 50%;
}
.container .left .people .person .name {
  font-size: 14px;
  line-height: 22px;
  color: var(--dark);
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 600;
}
.container .left .people .person .time {
  font-size: 14px;
  position: absolute;
  top: 16px;
  right: 10%;
  padding: 0 0 5px 5px;
  color: var(--grey);
  background-color: var(--white);
}
.people .person .tip {
  position: absolute;
  width: 20px;
  height: 20px;
  left: 60px;
  top: 5px;
  background-color: red;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 16px;
}

.container .left .people .person .preview {
  font-size: 12px;
  display: inline-block;
  overflow: hidden !important;
  width: 70%;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--grey);
}
.container .left .people .person.active, .container .left .people .person:hover {
  margin-top: -1px;
  margin-left: -1px;
  padding-top: 13px;
  border: 0;
  background-color: var(--blue);
  width: calc(100% + 2px);
  padding-left: calc(10% + 1px);
}
.container .left .people .person.active span, .container .left .people .person:hover span {
  color: var(--white);
  background: transparent;
}
.container .left .people .person.active:after, .container .left .people .person:hover:after {
  display: none;
}
.container .right {
  position: relative;
  float: left;
  width: 70%;
  height: 100%;
}
.container .right .top {
  width: 100%;
  height: 47px;
  padding: 15px 29px;
  background-color: #eceff1;
}
.container .right .top span {
  font-size: 15px;
  color: var(--grey);
}
.container .right .top span .name {
  color: var(--dark);
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 600;
}
.container .right .chat {
  position: relative;
  display: none;
  overflow: hidden;
  padding-bottom:  145px;
  border-width: 1px 1px 1px 0;
  border-style: solid;
  border-color: var(--light);
  height: calc(100% - 48px);
  justify-content: flex-end;
  flex-direction: column;
}
.container .right .chat .items {
  padding-top: 20px;
  height: 100%;
  overflow: auto;
}
.container .right .chat.active-chat {
  display: block;
  display: flex;
}
/* 聊天窗口样式 */
.container .right .chat .item {
  display: flex; 
  overflow: hidden;
}
.container .right .chat .item-r {
  flex-direction: row-reverse;
}
.container .right .chat .portrait {
  width: 42px; 
  height: 42px;
  border-radius: 10px; 
  border: 1px solid #eee; 
  margin: 0 5px;
}

.container .right .write {
  position: absolute;
  bottom: 0px;
  /* left: 30px; */
  /* height: 42px; */
  /* padding-left: 8px; */
  border: 1px solid var(--light);
  background-color: #f1f1f1;
  width: 100%;
  /* border-radius: 5px; */
}

.container .right .write .tool  {
  display: flex;
  align-items: center;
  height: 40px;
}
.container .right .write .tool  a {
  color: #999;
  text-decoration: none;
  margin: 0 10px;
  font-size: 18px;
}
.container .right .write .tool  a:hover {
  color: red;
}
.container .right .write textarea {
  font-size: 16px;
  float: left;
  width: 100%;
  height: 100px;
  padding: 0 10px;
  color: var(--dark);
  resize: none;
  border: 0;
  outline: none;
  background-color: #fff;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 400;
}

.container .right .write  .send {
  position: absolute;
  bottom: 10px;
  right:10px;
  width: 70px;
  height: 26px;
  border: 1px solid #ccc;
  background-color: #eee;
  outline: none;
}
.container .right .write .send:hover {
  background-color: #ccc;
}
.container .right .write .write-link.attach:before {
  display: inline-block;
  float: left;
  width: 20px;
  height: 42px;
  content: '';
  background-image: url("../img/attachment.png");
  background-repeat: no-repeat;
  background-position: center;
}
.container .right .write .write-link.smiley:before {
  display: inline-block;
  float: left;
  width: 20px;
  height: 42px;
  content: '';
  background-image: url("../img/smiley.png");
  background-repeat: no-repeat;
  background-position: center;
}
.container .right .write .write-link.send:before {
  display: inline-block;
  float: left;
  width: 20px;
  height: 42px;
  margin-left: 11px;
  content: '';
  background-image: url("../img/send.png");
  background-repeat: no-repeat;
  background-position: center;
}
.container .right .bubble {
  font-size: 16px;
  position: relative;
  display: inline-block;
  clear: both;
  margin-bottom: 8px;
  padding: 13px 14px;
  vertical-align: top;
  border-radius: 5px;
}
.container .right .bubble:before {
  position: absolute;
  top: 19px;
  display: block;
  width: 8px;
  height: 6px;
  content: '\00a0';
  -webkit-transform: rotate(29deg) skew(-35deg);
          transform: rotate(29deg) skew(-35deg);
}
.container .right .bubble.m-l {
  /* float: left; */
  color: var(--white);
  background-color: var(--blue);
  align-self: flex-start;
  -webkit-animation-name: slideFromLeft;
          animation-name: slideFromLeft;
}
.container .right .bubble.m-l:before {
  left: -3px;
  background-color: var(--blue);
}
.container .right .bubble.m-r {
  /* float: right; */
  color: var(--dark);
  background-color: #eee;
  align-self: flex-end;
  -webkit-animation-name: slideFromRight;
          animation-name: slideFromRight;
}
.container .right .bubble.m-r:before {
  right: -3px;
  background-color: #eceff1;
}
.container .right .conversation-start {
  position: relative;
  width: 100%;
  margin-bottom: 27px;
  text-align: center;
}
.container .right .conversation-start span {
  font-size: 14px;
  display: inline-block;
  color: var(--grey);
}
.container .right .conversation-start span:before, .container .right .conversation-start span:after {
  position: absolute;
  top: 10px;
  display: inline-block;
  width: 30%;
  height: 1px;
  content: '';
  background-color: var(--light);
}
.container .right .conversation-start span:before {
  left: 0;
}
.container .right .conversation-start span:after {
  right: 0;
}


.win-box {
  /* display: none; */
  position: absolute;
  left: 0;
  top: 0; 
  width: 100%;
  height: 100%;
  background:linear-gradient(45deg , skyblue 0%, deepskyblue 70%);
  padding: 100px 200px;
}
.h2-title{
  text-align: center;
  font-size: 30px;
  margin-bottom: 40px;
  color: #000;
}
.win-box .avators {
  height: 200px;
}
.win-box .avators img {
    width: 50px;
    height: 50px;
    border-radius: 10px;
    float: left;  
    margin: 10px;
    cursor: pointer;
}
.win-box .avators img.active{
  border: 2px dashed coral;
}
.win-box .info {
  padding: 0 100px;
  position: relative;
  width: 100%;
  height: 108px;
  /* border: 1px solid red; */
}
.win-box .info input{
  width: 70%; 
  outline: none;
  border: none;
  background: rgba(0, 0, 0, .1);
  height:40px;
  margin: 1% 1% 0 1%;
  border-radius: 5px;
  color: #fff;
  display:block;
  padding-left: 20px;
}

#login {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-color: deepskyblue;
  position: absolute;
  left: 65%;
  top: 50%;
  margin-left: -40px;
  margin-top: -66px;
  text-align: center;
  line-height: 80px;
  text-decoration: none;
  color: #fff;
}

#login span {
  position: absolute; 
  left: 5%;
  top: 5%;
  width: 90%;
  height: 90%;
  background-color: #FF534D;
  border-radius: 50%;
  line-height: 135px;
  background-position: center;
  background-size: cover;
}

.hide {
  display: none!important;
}